Computer security has been an active area of research and development for many years. With an increased frequency of high-profile instances of security breaches, Internet-borne computer viruses, and other security-related attacks on previously considered to be relatively secure computer systems, computer-security issues have risen to the forefront of attention and research. Various approaches for providing greater security have been developed and proposed, including approaches relying of physical security, cryptography, authentication, secure operating systems, and increasingly capable security features embodied in underlying hardware. For example, a number of newer processors, including the Intel Itanium architecture, include architectural support for privileged levels of execution and resource access. These features allow for development of secure operating-system kernels that provide core secure services upon the foundation of which full operating systems may be developed.
Unfortunately, as quickly as methods for securing computer systems are developed, strategies for undermining and attacking those methods soon follow, both in proposals and discussions, as well as implemented, security-breaching tools, protocols, Trojan-horse code, and viruses. Moreover, there are quite often substantial costs in efficiency, added complexity, time, and money involved in applying methods devised for increasing the security of computer systems. Designers and manufacturers of secure computer systems have therefore recognized the need for efficient, inexpensive security-increasing techniques and tools that, when applied alone or in combination, significantly increase the security of computer systems without incurring large costs, inefficiencies, and delays.